package org.oc.qaq.service;

import jakarta.servlet.http.HttpServletRequest;
import org.oc.qaq.dto.*;
import org.oc.qaq.result.Result;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

public interface UserService {
    ResponseEntity<?> login(UserLoginDTO userLoginDTO);

    void add(UserDTO userDTO);

    void update(UserDTO user);

    void deleteBatch(List<String> uids);

    void updateStatus(String uid, int status);

    Result<List<UserDTO>> list(UserPageQueryDTO queryDTO);

    Result<String> register(UserRegisterDTO userRegisterDTO);

    Result<?> logout(HttpServletRequest request);

    void delete(String uid);

    Result<?> uploadAvatar(String id, MultipartFile file) throws IOException;

    Result<?> me();

    void updateMe(UserDTO user);

    void changePassword(PasswordDTO passwordDTO);
}
